package com.gdones.gpt.bus.gptstaff.service;

import com.gdones.common.core.dto.MyPageBand;
import com.gdones.common.core.dto.MyResult;
import com.gdones.gpt.bus.gptstaff.dto.Staff;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gdones.gpt.bus.gptstaff.dto.StaffDto;
import com.gdones.gpt.bus.gptstaff.dto.UpdateStaffGrantDto;

import javax.mail.MessagingException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author GaoJingBo
 * @since 2023-06-04
 */
public interface IStaffService extends IService<Staff> {

    MyResult registerSendReqCode( String mailTo,String localID) throws MessagingException;

    MyResult add(StaffDto dto);

    MyResult login(HttpServletRequest request, StaffDto dto);

    MyResult fgetSendReqCode( String mailTo,String localID) throws MessagingException;

    MyResult changePwd(Staff dto);

    MyResult fgetCheck(String emailQrCode, String localID);

    MyResult getLoginReqCode(String localID);

    MyResult getStaffDataByID(String staffID);

    MyResult getStaffInfos(String staffID);

    MyResult checkStaffCanUseModel(String staffModesID, String staffID);

    MyResult updateStaffUseLess(String staffModesID);

    MyResult getStaffGrantByGrantID(String staffModesID);

    MyResult mypage(Staff dto, MyPageBand pageBand);

    MyResult mylist(Staff dto);

    MyResult myupdate(Staff dto);

    MyResult staffResetUseLess(String staffID);

    MyResult deletes(String ids);

    MyResult getSimpleStaffData(String staffID);

    MyResult updateStaffGrant(UpdateStaffGrantDto dto);
}
